package com.fenqile.pop.aftersale.param;

import java.time.LocalDateTime;

import com.fenqile.pop.BusinessParameter;
import com.fenqile.pop.aftersale.AfterSaleInfo;
import com.fenqile.pop.aftersale.result.AfterSaleListGetResult;
import com.fenqile.pop.enums.AfterSaleKind;
import com.fenqile.pop.enums.AfterSaleStatus;
import com.fenqile.pop.utility.FieldOpt;

/**
 * 批量查询售后信息 {@value #API_METHOD}
 * 
 * @see AfterSaleListGetResult
 * 
 * @author Coby [cobylin@live.com] 2017
 */
public class AfterSaleListGetParameter extends BusinessParameter<AfterSaleListGetResult> {
	public static final String API_METHOD = "fenqile.aftersale.list.get";
	
	/**
	 * 起始时间
	 * 时间跨度最大三个月(其实是90天)
	 */
	public LocalDateTime begin_time; 
	
	/**
	 * 结束时间 
	 */
	public LocalDateTime end_time; 
	
	/**
	 * 售后单类型
	 */
	public AfterSaleKind after_sale_type;
	
	/**
	 * 售后单状态
	 */
	public AfterSaleStatus after_sale_state; 
	
	/**
	 * 当前页码，默认 为1
	 */
	public Integer page;
	
	/**
	 * 每页条数，默认 40，最大100
	 */
	public Integer page_size;
	
	/**
	 * 结果集返回字 段列表，多个字 段以半角逗号 分隔
	 * 可选值为响应 说明中的所有 一级参数
	 */
	public FieldOpt<AfterSaleInfo> fields = new FieldOpt<>(AfterSaleInfo.class);
	
	/**
	 * 售后申请时间 排序方式。
	 * 默认升序(1 为降序, 其它值为升序)
	 */
	public Integer sort_type;
	
	/**
	 * 筛选时间类型。
	 * 默认售后申请 时间筛选(1 为 售后申请时间, 2为下单时间， 其它值为修改时间)
	 */
	public Integer date_type;

	@Override
	public String getApiMethod() {
		return API_METHOD;
	}
	
}
